import QtQuick 2.0

/*
就个人而言，可以更进一步的使用基础元素对象（Item）作为根元素。这样可以防
止用户改变我们设计的按钮的颜色，并且可以提供出更多相关控制的API（应用程
序接口）。我们的目标是导出一个最小的API（应用程序接口）。实际上我们可以
将根矩形框（Rectangle）替换为一个基础元素（Item），然后将一个矩形框
（Rectangle）嵌套在这个根元素（root item）就可以完成了。
*/
Item {
    id: root
    // 将text属性导出供外部使用（只有根级目录的属性才能够被其它文件的组件访问）
    property alias text: label.text
    // 导出clicked信号，对应的响应函数为OnClicked
    signal clicked

    Rectangle {

        width: 116; height: 26
        color: "lightsteelblue"
        border.color: "slategrey"
        Text {
            id: label
            anchors.centerIn: parent
            text: "Start"
        }
        MouseArea {
            anchors.fill: parent
            onClicked: {
                // 触发信号
                root.clicked()
            }
        }
    }
}

